<?php
namespace PsiFramework\Applications\AlloMediaPortal\Classes\Model;

import("Classes.Model.Object");
import("Classes.Util.Style.Model.Style");

use \PsiFramework\Classes\Model\Object;
use \PsiFramework\Classes\Util\Style\Model\Style;

/**
 * AlloMedia
 * Portail des professionnels
 *
 * @author Rémi San
 * @version beta
 */

/**
 * Classe d'une catégorie d'un site web allomedia
 *
 * @package Model
 */
class SiteCategory extends Object
{

    protected /*int*/                $_id ;
    protected /*string*/             $_name ;
    protected /*string*/             $_text ;
    protected /*InformationProfile*/ $_profile ;
    protected /*Style*/              $_style ;
    protected /*CategoryLink[]*/     $_sites ;
    protected /*AlloMediaEntry*/     $_entries ;

    /**
     * Constructeur
     *
     * @param  int                 $id       L'identifiant de la categorie
     * @param  string              $name     Le nom de la categorie
     * @param  InformationProfile  $profile  Le formulaire de la categorie
     * @param  Style               $style    Le style de la categorie
     */
    public function __construct(
        /*int*/ $id=null,
        /*string*/ $name=null,
        /*InformationProfile*/ $profile=null,
        /*Style*/ $style=null,
        /*CategoryLink[]*/ $sites=null,
        /*AlloMediaEntry*/ $entries=null
    )
    {
        $this->_id = $id ;
        $this->_name = $name ;
        $this->_profile = $profile ;
        $this->_style = $style ;
        $this->_sites = $sites ;
        $this->_entries = $entries ;
    }

    public function getId()
    {
        return $this->_id ;
    }

    public function setId($id)
    {
        $this->_id = $id ;
    }

    public function getName()
    {
        return $this->_name ;
    }

    public function setName($name)
    {
        $this->_name = $name ;
    }

    public function getProfile()
    {
        return $this->_profile ;
    }

    public function setProfile($profile)
    {
        $this->_profile = $profile ;
    }

    public function getStyle()
    {
        return $this->_style ;
    }

    public function setStyle($style)
    {
        $this->_style = $style ;
    }

    public function getSites()
    {
        return $this->_sites ;
    }

    public function setSites($sites)
    {
        $this->_sites = $sites ;
    }

    public function getEntries()
    {
        return $this->_entries ;
    }

    public function setEntries($entries)
    {
        $this->_entries = $entries ;
    }
    
    public function getExempleEntry()
    {
        return new AlloMediaEntry();
    }

    public function toString()
    {
        return $this->_name ;
    }
}
